|
Tipo de datos |
Top |
|
• Bit • Entero (16bit) • Entero largo (32bit) • Real (punto flotante)
|<----------------------- entero 32bit ------------------------>| | | |<------ entero 16bit --------->|<------ entero 16bit --------->| | | | |_______________________________|_______________________________| | |B| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ¯¯¯\¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | \___ bit | | | 31 16 15 0
El tipo común es el Entero de 16bit, y es posible hacer referencia a cada uno de sus bits. Ejemplo:
• i0 hace referencia a los 16bits de las entradas digitales, q0 hace referencia a los 16bits de las salidas digitales. • i0.0 hace referencia a la 1º entrada digital (bit 0), q0.15 hace referencia al último bit de la variable correspondiente a las salidas digitales.
El entero largo y el real no son comunes y están reservados para las funciones aritméticas y comparaciones, por lo que no se puede usar algo como i0.25. Las 4 operaciones, las comparaciones, INC, DEC, LD y ST pueden usar estos tipos. Para esto es necesario usar variables declaradas. Esto significa que si se hace un LD v0 lo hará en 16bit, pero si se declara una variable como entero largo o real en la posición de v0 (ocupará v0 y v1) la operación se hará correctamente. Los números son tomados como constantes, y su tipo (entero, largo o real) será determinado por la forma que esté escrito. Un LD 2 cargará el acumulador con un entero de valor 2, un LD 80000 cargará el acumulador con un largo de valor ochenta mil, y un LD 1.23 cargará el acumulador con un real uno coma veintitrés. Esta regla puede modificarse de la siguiente forma (norma IEC61131):
Los enteros y enteros largos pueden también expresarse en binario, octal y hexadecimal:
En la imagen están los tipos de datos que se pueden declarar. Nótese que el salto de la variable llamada Total a Prop es de 2 posiciones. Esto es debido a su tamaño (el doble), y así se evita que se superpongan.
Aquí las variables están superpuestas. Es lo que en C se llama unión. Los nombres que se le han asignado coinciden con el tipo de superposición. De esta forma, lo que le acontece a una se refleja en la otra, ya que es la misma cosa con varios nombres.
Un largo equivale a 2 enteros adyacentes. Para pasar datos de uno a otro utilice BLKMOVE. |
Lista de instrucciones
Ejemplos matemática